package edu.pucsp.predatorprey.simulador.java.criatura;

import edu.pucsp.predatorprey.simulador.java.posicao.impl.Direcao;

public class Presa extends AbstractCriatura {

	private static final int INTERVALO_MOVIMENTO = 2;

	private static final int INTERVALO_PROCRIACAO = 50;

	@Override
	protected Direcao getDirecao() {
		Direcao direcaoPredador = this.getDirecaoPredador(10);
		if (direcaoPredador != null) {
			return direcaoPredador.inverso();
		} else if (this.aptoParaProcriar()) {
			Direcao direcaoPresa = this.getDirecaoPresa(50);
			if (direcaoPresa != null) {
				return direcaoPresa;
			}
		}
		return this.getDirecaoAleatoria();
	}

	@Override
	protected int getIntervalorProcriacao() {
		return INTERVALO_PROCRIACAO;
	}

	@Override
	public boolean isPredador() {
		return false;
	}

	@Override
	protected int getIntervaloMovimento() {
		return INTERVALO_MOVIMENTO;
	}

	@Override
	public boolean deveMorerCausasNaturais() {
		return Math.random() > 0.99;
	}

	@Override
	public void comeu() {

	}

	@Override
	public String toString() {
		return "Presa";
	}

}
